Today, many software vendors offer business rule management applications. These business rule management applications can empower users having no or little expertise in programming of database applications to set up, modify, and manage business rules. In order to achieve this goal, business rule management applications can facilitate the user to input a business rule (e.g., “if last year's sales for customer A have been higher than 1,000,000 $US, grant a 20% discount”) with a syntax similar to the syntax business users are used to in their everyday work. Many business rule management applications have developed domain specific programming languages that can process these inputs into executable code.
On the other hand, businesses assemble vast amounts of data. Ideally, this data can be processed at near real-time in the business intelligence applications. In addition, changes to the data should be propagated as fast as possible to avoid executing business logic on outdated data. An in-memory database is a database management system that primarily relies on main memory for computer data storage. It is contrasted with database management systems that employ a disk storage mechanism.